package com.ttbj.api.yitong;

import java.util.List;
import java.util.Map;

public interface CutPayService {
	/**
	 * 使用易通进行订单分账
	 * @param paymentOrderNo 支付订单号：主扫或被扫返回的订单号
	 * @param orderNum 分账订单号：自定义
	 * @param amount 金额：分
	 * @return Map<String,String> 失败：{status:0,retInfo:账户不存在或状态异常,retCode:BQ001F}，
	 * 							     成功：{status:1,retInfo:受理成功,retCode:S0000S}
	 * @throws BusinessException
	 */
	public Map<String, String> orderCutPay(String paymentOrderNo, String orderNum, String amount) throws Exception;
	
	/**
	 * 使用易通重新进行分账：受理失败的时候，受理成功子账户分账失败的情况下
	 * 受理失败：1.账户不存在，商户不存在，请求参数异常情况下：datasJson为null，data有值
	 * 		  2.待分账余额不足，分账操作过于频繁，分账失败情况下：datasJson有值，data为null
	 * 受理成功子账户分账失败：datasJson为null，data有值
	 * @param paymentOrderNo 支付订单号(必传)：主扫或被扫返回的订单号
	 * @param data 封装了请求参数的object
	 * @param datasJson 当不是请求参数异常或账户不存在异常等自己原因时，会传此参数
	 * @return 分账结果
	 * @throws BusinessException
	 */
	public Map<String, String> againOrderCutPay(String paymentOrderNo, List<Object> data, String datasJson) throws Exception;
}
